package itsm.isperp.module.entity.configuration;

import itsm.isperp.framework.domain.BaseBean;
import itsm.isperp.framework.web.converter.CustomDateJsonSerializer;
import itsm.isperp.framework.web.converter.CustomDateTimeJsonSerializer;

import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;

/**
 * 配置项实体
 * 
 * @author lizx
 * @date 2013-4-28
 */
@Entity
@Table(name = "conf_ci")
public class ConfCi extends BaseBean {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Column
	protected String confCategoryId;

	@Column
	protected String confCategoryName;

	@Column
	protected String cusCustomerId;
	@Column
	protected String cusCustomerName;
	/**
	 * 编号
	 */
	@Column
	protected String code;
	/**
	 * 名称
	 */
	@Column
	protected String name;
	/**
	 * 状态
	 */
	@Column
	protected String status;
	
	@Column
	protected String statusTemp;

	/**
	 * 位置
	 */
	@Column
	protected String address;

	@Column
	protected String finalAuditer;
	@JsonSerialize(using = CustomDateTimeJsonSerializer.class)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column
	protected Date finalAuditedDate;
	@Column
	protected String finalAuditStatus;
	@Column
	protected String finalChanger;
	@JsonSerialize(using = CustomDateTimeJsonSerializer.class)
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
	@Column
	protected Timestamp finalChangedDate;
	@Column
	protected String meno;
	@Column
	protected String assetCode;
	@Column
	protected String assetLifeStatus;
	//
	@Column
	protected String useStaffIdTemp;
	@Column
	protected String useStaffNameTemp;
	@Column
	protected String useStaffId;
	@Column
	protected String useStaffName;
	/**
	 * 管理者
	 */
	@Column
	protected String managementStaffId;
	@Column
	protected String managementStaffName;
	/**
	 * 维护人
	 */
	@Column
	protected String supportStaffId;
	@Column
	protected String supportStaffName;
	@Column
	protected String manufacturerProviderId;
	@Column
	protected String manufacturerProviderName;
	@Column
	protected String integratorProviderId;
	@Column
	protected String integratorProviderName;
	@Column
	protected String maintainerProviderId;
	@Column
	protected String maintainerProviderName;
	@Column
	protected String maintainerContractFileId;
	@Column
	protected String maintainerContractFileName;
	@Column
	protected String repairTel;
	@Column
	protected String buyType;
	@Column
	protected Integer areCompany;
	@Column
	protected double price;
	//规格
	@Column
	protected String specification;
	//型号
	@Column
	protected String model;
	
	@Column
	protected String provider;
	
	@Column
	protected String purchaseNumber;

	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date buyDate;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date receiveDate;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date installationDate;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date availableDate;
	@Column
	protected boolean isInsupported;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date maintainerStartDate;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date maintainerEndDate;
	@JsonSerialize(using = CustomDateJsonSerializer.class)
	@DateTimeFormat(iso = ISO.DATE)
	@Column
	protected Date expiredDate;
	@Column
	protected String version;

	@Column
	protected String assetStatus;

	@Column
	protected String departmentName;

	// 审计
	@Column
	protected Timestamp auditDate;

	@Column
	protected String auditResult;

	@Column
	protected String locationId;

	@Column
	protected String locationName;

	public String getLocationId() {
		return locationId;
	}

	public void setLocationId(String locationId) {
		this.locationId = locationId;
	}

	public String getLocationName() {
		return locationName;
	}

	public void setLocationName(String locationName) {
		this.locationName = locationName;
	}

	public Timestamp getAuditDate() {
		return auditDate;
	}

	public void setAuditDate(Timestamp auditDate) {
		this.auditDate = auditDate;
	}

	public String getAuditResult() {
		return auditResult;
	}

	public void setAuditResult(String auditResult) {
		this.auditResult = auditResult;
	}

	public String getDepartmentName() {
		return departmentName;
	}

	public void setDepartmentName(String departmentName) {
		this.departmentName = departmentName;
	}

	public String getConfCategoryId() {
		return confCategoryId;
	}

	public String getConfCategoryName() {
		return confCategoryName;
	}

	public String getCusCustomerId() {
		return cusCustomerId;
	}

	public String getCusCustomerName() {
		return cusCustomerName;
	}

	public String getCode() {
		return code;
	}

	public String getName() {
		return name;
	}

	public String getStatus() {
		return status;
	}

	public String getAddress() {
		return address;
	}

	public String getFinalAuditer() {
		return finalAuditer;
	}

	public Date getFinalAuditedDate() {
		return finalAuditedDate;
	}

	public String getFinalAuditStatus() {
		return finalAuditStatus;
	}

	public String getFinalChanger() {
		return finalChanger;
	}

	public Timestamp getFinalChangedDate() {
		return finalChangedDate;
	}

	public String getMeno() {
		return meno;
	}

	public String getAssetCode() {
		return assetCode;
	}

	public String getAssetLifeStatus() {
		return assetLifeStatus;
	}

	public String getUseStaffId() {
		return useStaffId;
	}

	public String getUseStaffName() {
		return useStaffName;
	}

	public String getManagementStaffId() {
		return managementStaffId;
	}

	public String getManagementStaffName() {
		return managementStaffName;
	}

	public String getSupportStaffId() {
		return supportStaffId;
	}

	public String getSupportStaffName() {
		return supportStaffName;
	}

	public String getManufacturerProviderId() {
		return manufacturerProviderId;
	}

	public String getManufacturerProviderName() {
		return manufacturerProviderName;
	}

	public String getIntegratorProviderId() {
		return integratorProviderId;
	}

	public String getIntegratorProviderName() {
		return integratorProviderName;
	}

	public String getMaintainerProviderId() {
		return maintainerProviderId;
	}

	public String getMaintainerProviderName() {
		return maintainerProviderName;
	}

	public String getMaintainerContractFileId() {
		return maintainerContractFileId;
	}

	public String getMaintainerContractFileName() {
		return maintainerContractFileName;
	}

	public String getRepairTel() {
		return repairTel;
	}

	public String getBuyType() {
		return buyType;
	}

	public Date getBuyDate() {
		return buyDate;
	}

	public Date getInstallationDate() {
		return installationDate;
	}

	public Date getAvailableDate() {
		return availableDate;
	}

	public boolean isInsupported() {
		return isInsupported;
	}

	public Date getMaintainerStartDate() {
		return maintainerStartDate;
	}

	public Date getMaintainerEndDate() {
		return maintainerEndDate;
	}

	public Date getExpiredDate() {
		return expiredDate;
	}

	public String getVersion() {
		return version;
	}

	public String getAssetStatus() {
		return assetStatus;
	}

	public void setConfCategoryId(String confCategoryId) {
		this.confCategoryId = confCategoryId;
	}

	public void setConfCategoryName(String confCategoryName) {
		this.confCategoryName = confCategoryName;
	}

	public void setCusCustomerId(String cusCustomerId) {
		this.cusCustomerId = cusCustomerId;
	}

	public void setCusCustomerName(String cusCustomerName) {
		this.cusCustomerName = cusCustomerName;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public void setFinalAuditer(String finalAuditer) {
		this.finalAuditer = finalAuditer;
	}

	public void setFinalAuditedDate(Date finalAuditedDate) {
		this.finalAuditedDate = finalAuditedDate;
	}

	public void setFinalAuditStatus(String finalAuditStatus) {
		this.finalAuditStatus = finalAuditStatus;
	}

	public void setFinalChanger(String finalChanger) {
		this.finalChanger = finalChanger;
	}

	public void setFinalChangedDate(Timestamp finalChangedDate) {
		this.finalChangedDate = finalChangedDate;
	}

	public void setMeno(String meno) {
		this.meno = meno;
	}

	public void setAssetCode(String assetCode) {
		this.assetCode = assetCode;
	}

	public void setAssetLifeStatus(String assetLifeStatus) {
		this.assetLifeStatus = assetLifeStatus;
	}

	public void setUseStaffId(String useStaffId) {
		this.useStaffId = useStaffId;
	}

	public void setUseStaffName(String useStaffName) {
		this.useStaffName = useStaffName;
	}

	public void setManagementStaffId(String managementStaffId) {
		this.managementStaffId = managementStaffId;
	}

	public void setManagementStaffName(String managementStaffName) {
		this.managementStaffName = managementStaffName;
	}

	public void setSupportStaffId(String supportStaffId) {
		this.supportStaffId = supportStaffId;
	}

	public void setSupportStaffName(String supportStaffName) {
		this.supportStaffName = supportStaffName;
	}

	public void setManufacturerProviderId(String manufacturerProviderId) {
		this.manufacturerProviderId = manufacturerProviderId;
	}

	public void setManufacturerProviderName(String manufacturerProviderName) {
		this.manufacturerProviderName = manufacturerProviderName;
	}

	public void setIntegratorProviderId(String integratorProviderId) {
		this.integratorProviderId = integratorProviderId;
	}

	public void setIntegratorProviderName(String integratorProviderName) {
		this.integratorProviderName = integratorProviderName;
	}

	public void setMaintainerProviderId(String maintainerProviderId) {
		this.maintainerProviderId = maintainerProviderId;
	}

	public void setMaintainerProviderName(String maintainerProviderName) {
		this.maintainerProviderName = maintainerProviderName;
	}

	public void setMaintainerContractFileId(String maintainerContractFileId) {
		this.maintainerContractFileId = maintainerContractFileId;
	}

	public void setMaintainerContractFileName(String maintainerContractFileName) {
		this.maintainerContractFileName = maintainerContractFileName;
	}

	public void setRepairTel(String repairTel) {
		this.repairTel = repairTel;
	}

	public void setBuyType(String buyType) {
		this.buyType = buyType;
	}

	public void setBuyDate(Date buyDate) {
		this.buyDate = buyDate;
	}

	public void setInstallationDate(Date installationDate) {
		this.installationDate = installationDate;
	}

	public void setAvailableDate(Date availableDate) {
		this.availableDate = availableDate;
	}

	public void setInsupported(boolean isInsupported) {
		this.isInsupported = isInsupported;
	}

	public void setMaintainerStartDate(Date maintainerStartDate) {
		this.maintainerStartDate = maintainerStartDate;
	}

	public void setMaintainerEndDate(Date maintainerEndDate) {
		this.maintainerEndDate = maintainerEndDate;
	}

	public void setExpiredDate(Date expiredDate) {
		this.expiredDate = expiredDate;
	}

	public void setVersion(String version) {
		this.version = version;
	}

	public void setAssetStatus(String assetStatus) {
		this.assetStatus = assetStatus;
	}

	public Date getReceiveDate() {
		return receiveDate;
	}

	public void setReceiveDate(Date receiveDate) {
		this.receiveDate = receiveDate;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public Integer getAreCompany() {
		return areCompany;
	}

	public void setAreCompany(Integer areCompany) {
		this.areCompany = areCompany;
	}

	public double getPrice() {
		return price;
	}

	public void setPrice(double price) {
		this.price = price;
	}

	public String getStatusTemp() {
		return statusTemp;
	}

	public void setStatusTemp(String statusTemp) {
		this.statusTemp = statusTemp;
	}

	public String getUseStaffIdTemp() {
		return useStaffIdTemp;
	}

	public void setUseStaffIdTemp(String useStaffIdTemp) {
		this.useStaffIdTemp = useStaffIdTemp;
	}

	public String getUseStaffNameTemp() {
		return useStaffNameTemp;
	}

	public void setUseStaffNameTemp(String useStaffNameTemp) {
		this.useStaffNameTemp = useStaffNameTemp;
	}

	public String getSpecification() {
		return specification;
	}

	public void setSpecification(String specification) {
		this.specification = specification;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getPurchaseNumber() {
		return purchaseNumber;
	}

	public void setPurchaseNumber(String purchaseNumber) {
		this.purchaseNumber = purchaseNumber;
	}

	public String getProvider() {
		return provider;
	}

	public void setProvider(String provider) {
		this.provider = provider;
	}
} 
